package handle;

import msg.CreateMsg;
import msg.DeleteMsg;
import msg.Msg;
import msg.UpdateMsg;

public class MsgHandler {
	public static synchronized void hander(byte[] buffer) throws Exception {
		if (buffer == null || buffer.length == 0) {
			throw new Exception();
		}
		byte type = buffer[0];
		if (type == Msg.CREATE) {
			CreateMsg msg = new CreateMsg();
			msg.decode(buffer);
			CreateMsgHandler.hander(msg);
		} else if (type == Msg.UPDATE) {
			UpdateMsg msg = new UpdateMsg();
			msg.decode(buffer);
			UpdateMsgHandler.hander(msg);
		} else if (type == Msg.DELETE) {
			DeleteMsg msg = new DeleteMsg();
			msg.decode(buffer);
			DeleteMsgHandler.hander(msg);
		} else {
			throw new Exception();
		}
	}
}